//
//  RAUtil.h
//  RAFSUManagement
//
//  Created by Piccolo on 21/03/2018.
//  Copyright © 2018 Rayonics. All rights reserved.
//

#import "SCLAlertView.h"
#import "RABleUtil.h"
#import "RANetWorkUtil.h"
#import "RAAppVersionUtil.h"
#import "DGActivityIndicatorView.h"

@interface RAUtil : NSObject

+ (NSString *)deviceVersion;
+ (NSString *)identityVersion;
+ (void)showAlertViewWithPermissionType:(NSRAPermissionType)permissionType viewController:(UIViewController *)vc;
+ (NSString *)getSingleKeyStr:(NSString *)str;
+ (UIViewController*) getTopMostViewController;
+ (BOOL)checkStringExist:(NSString *)str;
+ (BOOL)checkString:(NSString *)parentStr containSubString:(NSString *)subStr;
+ (BOOL)delegateExist:(id)delegate delegate:(Protocol *)protocol selector:(SEL)aSelector;
+ (void)showAlertWithMessage:(NSString *)message alertType:(NSRAAlertType)alertType progress:(CGFloat)progress;
+ (void)showAlertWithMessage:(NSString *)message alertType:(NSRAAlertType)alertType;
+ (DGActivityIndicatorView *)newIndicatorWithTarget:(UIViewController *)vc centerPoint:(CGPoint)point;
+ (void)setIndicator:(DGActivityIndicatorView *) indicator hidden:(BOOL)hidden target:(UIViewController *)target aboveSubView:(UIView *)view;
+ (BOOL)isNotEmptyArray:(NSArray *)array;
+ (BOOL)isExistDic:(NSDictionary *)dic key:(NSString *)key;
+ (NSString *)noNullString:(NSString *)string;
+ (void)pushViewController:(UIViewController *)localViewController toTargetViewController:(UIViewController *)targetViewController animated:(BOOL)animated;
+ (void)removeBtnTarget:(UIButton *)btn;
+ (void)setDownView:(UIView *)downView aboveView:(UIView *)upView spacing:(CGFloat)spacing;
+ (void)setRightView:(UIView *)rightView nextToView:(UIView *)leftView sameFrame:(BOOL)sameFrame spacing:(CGFloat)spacing;
+ (void)setSuperView:(UIView *)superView fromLastSubView:(UIView *)lastSubView spacing:(CGFloat)spacing;
+ (NSString *)platformString;
+ (BOOL)checkPlatformIsFourType;
+ (BOOL)checkPlatformIsFiveType;
+ (BOOL)checkPlatformIsSixType;
+ (BOOL)checkPlatformIsSixPlusType;
+ (NSString *)stringFromOperatorType:(NSRAOperatorType)type;
+ (NSString *)logogramFromOperatorType:(NSRAOperatorType)type;
+ (NSString *)formatCode:(NSString *)code;
+ (BOOL)checkIsBarCodeValue:(NSString *)valueString;
+ (NSDate *)getDateAfterDay:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute second:(NSInteger)second;
+ (NSString *)stringFromFSUControlType:(NSRAFSUControlType)type;
+ (BOOL)requestIsSuccessful:(NSDictionary *)responseObject;

@end
